package com.budwk.app.sys.services;

import com.budwk.app.sys.models.Sys_menu;
import com.budwk.starter.database.service.BaseService;
import org.nutz.lang.util.NutMap;

import java.util.List;
import java.util.Map;

/**
 * @author wizzer@qq.com
 */
public interface SysMenuService extends BaseService<Sys_menu> {

    /**
     * 保存菜单
     *
     * @param appId 应用ID
     * @param menu  菜单对象
     * @param pid   父节点ID
     * @param datas 数据权限
     */
    void save(String appId, Sys_menu menu, String pid, List<NutMap> datas);

    /**
     * 编辑菜单
     *
     * @param menu  菜单对象
     * @param pid   父节点ID
     * @param datas 数据权限
     */
    void edit(Sys_menu menu, String pid, List<NutMap> datas);

    /**
     * 级联删除菜单
     *
     * @param menu 菜单对象
     */
    void deleteAndChild(Sys_menu menu);


    /**
     * 增加开发单位跳转控制菜单
     * @param devname 开发单位标识
     * @param name 开发单位名称
     */
    void addCompanyRedirectMenu(String devname,String name);

    /**
     * 增加业务系统跳转控制菜单
     * @param appid 业务系统标识
     * @param devname 开发单位标识
     * @param name 业务系统名称
     */
    void addAppRedirectMenu(String appid, String devname,String name);

    /**
     * 删除开发单位跳转控制菜单
     * @param devname 开发单位标识
     */
    void removeCompanyRedirectMenu(String devname);


    /**
     * 删除业务系统跳转控制菜单
     * @param appid
     * @param devname
     */
    void removeAppRedirectMenu(String appid,String devname);
}
